package com.行为型模型.M模板方法模式;

/**
 * 抽象炒菜类
 */
public abstract class AbstractClass {
    //炒菜步骤
    public final void cookProcess(){
        //第一步 倒油
        this.pourOil();
        //第二步 热油
        this.heatOil();
        //第三步 倒蔬菜
        this.pourVegetable();
        //第四步 倒调料
        this.pourSauce();
        //第五步 翻炒
        this.fry();

    }
    public void pourOil(){
        System.out.println("倒油");
    }
    public void heatOil(){
        System.out.println("热油");
    }
    //第三步：倒蔬菜是不一样的（一个下包菜，一个是下菜心）  交由子类实现
    public abstract void pourVegetable();
    //第四步：倒调味料是不一样
    public abstract void pourSauce();
    public void fry(){
        System.out.println("翻炒出锅");
    }




}
